/* eslint-disable */
var e = function() {
	function y(e, t) {
			return new n(e, t)
	}

	function n(e, t) {
			return this.el = "string" == typeof e ? (t || document).querySelector(e) : e || document.documentElement,
					this
	}
	y._ = n,
			y.fn = n.prototype;
	var e = function() {
			function e() {}
			var t = e.prototype;
			return t.inclue = function() {},
					t.extend = function() {},
					t.merge = function(e) {
							return y.merge(this.options, e)
					},
					t.addFnHook = function(e, t) {
							var o = this[e],
									u = t.precall,
									s = t.callback;
							this[e] = function() {
									for (var e = this,
													t = arguments.length,
													n = new Array(t), i = 0; i < t; i++) n[i] = arguments[i];
									u && u.apply(e, n);
									var r = o.apply(e, n);
									return s && s.apply(e, n),
											r
							}
					},
					e
	}();
	y.Class = e;
	var t = /\{([^}]+)\}/g,
			o = y.isArray = Array.isArray,
			u = y.isObject = function(e) {
					return "object" == typeof e
			},
			i = y.assign = Object.assign,
			r = y.now = Date.now,
			s = Math.max,
			a = Math.min,
			c = Math.floor,
			f = Math.ceil,
			l = Math.random,
			d = function(e) {
					return e.filter(function(e) {
							return e || 0 === e
					})
			};
	["FormData", "Arguments", "Function", "String", "Number", "Date", "RegExp", "Error", "Symbol", "Map", "WeakMap", "Set", "WeakSet"].forEach(function(t) {
					y["is" + t] = function(e) {
							return Object.prototype.toString.call(e) === "[object " + t + "]"
					}
			}),
			y.isNumeric = function(e) {
					return !isNaN(parseFloat(e)) && isFinite(e)
			},
			y.isDom = function(e) {
					return e instanceof HTMLElement
			},
			y.isNull = function(e) {
					return null === e
			},
			y.isNil = function(e) {
					return null == e
			},
			(y.stamp = (y.stamper = function(t) {
					return function(e) {
							return void 0 === e && (e = {}),
									e._lake_id = e._lake_id || ++t
					}
			})(0)).valueOf = function() {
					return y.stamp({})
			},
			y.include = function(e, t) {
					i(e.prototype, t)
			},
			y.extends = function(e, t) {
					return y.extend(e.prototype, t)
			},
			y.extend = function(e, t) {
					return i(e, t.prototype)
			},
			y.isMergeableObject = function(e) {
					return !(!e || "object" != typeof e || y.isDate(e) || y.isRegExp(e) || o(e))
			};
	var p = function(e, t) {
			for (var n = Object(t), i = 0, r = arguments.length <= 2 ? 0 : arguments.length - 2; i < r; i++) y.each(Object(i + 2 < 2 || arguments.length <= i + 2 ? void 0 : arguments[i + 2]),
					function(e, t) {
							y.isMergeableObject(e) ? y.merge(n[t] = n[t] || {},
									e) : n[t] = e
					});
			return n
	};
	y.merge = p.bind(y, !0),
			y.shallowMerge = p.bind(y, !1),
			y.clone = function(e, n) {
					return n = n || [],
							JSON.parse(JSON.stringify(e,
									function(e, t) {
											if (t && "object" == typeof t) {
													if (n.includes(t)) return;
													n.push(t)
											}
											return t
									}))
			},
			y.random = function(e, t) {
					return e + c(l() * (t - e + 1))
			},
			y.range = function(e, t, n) {
					null == t && (t = e || 0, e = 0),
							n || (n = t < e ? -1 : 1);
					for (var i = s(f((t - e) / n), 0), r = [], o = 0; o < i; o++, e += n) r[o] = e;
					return r
			},
			y.inRange = function(t, n) {
					return function(e) {
							return t = y.isNumber(t) ? t : -1 / 0,
									n = y.isNumber(n) ? n : 1 / 0,
									t <= e && e < n
					}
			},
			y.result = function(t, e, n) {
					e.forEach(function(e) {
							y.isFunction(t[e]) && (t[e] = t[e].apply(null, n))
					})
			},
			y.pick = function(e, t) {
					var n = {},
							i = y.isFunction(t) ? t : function(e) {
									return t.includes(e)
							};
					return y.each(e,
									function(e, t) {
											i(t) && (n[t] = e)
									}),
							n
			},
			y.each = function(e, t) {
					if (o(e)) e.forEach(t);
					else if (u(e))
							for (var n = Object.keys(e), i = 0, r = n.length; i < r; i++) t(e[n[i]], n[i], e);
					else t(e, 0, e)
			},
			y.toPercent = function(e, t) {
					return (100 * e).toFixed(t) + "%"
			},
			y.set = function(n, e) {
					y.each(e,
							function(e, t) {
									Object.defineProperty(n, t, e)
							})
			},
			y.fmtDate = function(e, n) {
					return e.replace(t,
							function(e, t) {
									return y.Clock.fmt(n, t)
							})
			},
			y.fmt = function(e, n, i) {
					return e.replace(t,
							function(e, t) {
									return t in n ? n[t] + "" : i ? e : ""
							})
			},
			y.format = function(e, n) {
					return e.replace(/\$\{([^}]+)\}/g,
							function(e, t) {
									return new Function("$", "with($){return " + t + "}")(n)
							})
			},
			y.toUrlVars = function(e) {
					var t, n = {};
					if (e = e.replace(/.*\?/, ""))
							for (var i, r = 0,
											o = (t = e.split("&")).length; r < o; r++) i = t[r].split("="),
									n[decodeURIComponent(i[0])] = decodeURIComponent(i[1]);
					return n
			},
			y.words = function(e) {
					return e.trim().split(/\s+/)
			},
			y.toCamelCase = function(e) {
					return e.replace(/-+(.)?/g,
							function(e, t) {
									return t ? t.toUpperCase() : ""
							})
			},
			y.toKebabCase = function(e) {
					return e.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()
			},
			y.toPascalCase = function(e) {
					return y.toCamelCase(e).replace(/( |^)[a-z]/g,
							function(e) {
									return e.toUpperCase()
							})
			},
			y.find = function(e, n) {
					return (o(e) ? e : Array.prototype.slice.call(Object(e))).find(function(e) {
							for (var t in n)
									if (n[t] !== e[t]) return !1;
							return !0
					})
			},
			y.sortOn = function(e, t) {
					"string" == typeof t && (t = [t]),
							o(t) && (t = {
									fields: t
							});
					var u, s = t.desc || 1,
							a = t.fields,
							c = a.length,
							f = y.isNil;
					return e.sort(function e(t, n, i) {
							var r = t[u = a[i = i || 0]],
									o = n[u];
							return f(r) ? 1 : f(o) ? -1 : r < o ? -1 * s : o < r ? s : ++i < c ? e(t, n, i) : 0
					})
			},
			y.max = function(e) {
					return s.apply(Math, d(e))
			},
			y.min = function(e) {
					return a.apply(Math, d(e))
			},
			y.defer = function(e) {
					return window.requestAnimationFrame(e)
			},
			y.before = function(e, t) {
					var n;
					return function() {
							return 0 < --e ? n = t.apply(this, arguments) : t = null,
									n
					}
			},
			y.after = function(e, t) {
					return function() {
							return --e < 1 && t.apply(this, arguments)
					}
			},
			y.one = y.before.bind(y, 2);
	var h = y.data = function(e, t) {
					return void 0 === t ? u(e) ? e._lake_data : h[e] : u(e) ? e._lake_data = t : h[e] = t
			},
			m = y.createFunction = function(e) {
					return new Function(e)
			};

	function g(e, t) {
			return y.isString(e) || (e = y.objToCss(e)),
					(t || (g.el = g.el || g.create())).appendChild(document.createTextNode(e))
	}

	function v(e, t, n) {
			return t in e ? Object.defineProperty(e, t, {
							value: n,
							enumerable: !0,
							configurable: !0,
							writable: !0
					}) : e[t] = n,
					e
	}

	function b(e, t) {
			e.prototype = Object.create(t.prototype),
					(e.prototype.constructor = e).__proto__ = t
	}
	y.exec = function(e) {
					return m(e)()
			},
			y.watch = function(e, u) {
					!
					function o(e) {
							"object" == typeof e && y.each(e,
									function(e, t, n) {
											var i = e,
													r = e;
											Object.defineProperty(n, t, {
															get: function() {
																	return i
															},
															set: function(e) {
																	r = i,
																			u(i = e, r)
															}
													}),
													o(e)
									})
					}(e)
			},
			y.download = function(e, t) {
					var n = y.create("a");
					n.download = t || y.now(),
							n.href = e,
							n.click()
			},
			y.chain = function(t) {
					var n = 0;
					!
					function e() {
							return t[n] && t[n++](e)
					}()
			},
			y.import = function(n) {
					return new Promise(function(e, t) {
							n = o(n) ? n : [n],
									T.require(n, e, t)
					})
			},
			y.isIE = function() {
					return "ActiveXObject" in self && (/MSIE (\d+)/.test(navigator.userAgent) ? RegExp.$1 : 11)
			},
			y.isMobile = function() {
					return /Android|webOS|iPhone|iPad|iPod|BlackBerry|Windows Phone|IEMobile|Opera Mini/i.test(navigator.userAgent)
			},
			y.cookie = function(e, t, n) {
					if (void 0 === t) {
							for (var i = {},
											r = document.cookie.split("; "), o = 0; o < r.length; o++) {
									var u = r[o].split("="),
											s = u.slice(1).join("=");
									'"' === s.charAt(0) && (s = s.slice(1, -1));
									var a = decodeURIComponent(u[0]);
									if (i[a] = decodeURIComponent(s), a === e) break
							}
							return e ? i[e] : i
					}
					var c = n = y.assign({
											expires: 1,
											path: "/"
									},
									n),
							f = c.expires,
							l = c.path,
							d = c.domain,
							p = c.secure,
							h = e + "=" + encodeURIComponent(t);
					f && (y.isDate(f) || (f = new Date(y.now() + 864e5 * f)), h += ";expires=" + f.toUTCString()),
							l && (h += "; path=" + l),
							d && (h += "; domain=" + d),
							p && (h += "; secure=" + p),
							document.cookie = h
			},
			y.delCookie = function(e) {
					y.cookie(e, "", {
							expires: -1
					})
			},
			y.searchURL = function(e) {
					return y.toUrlVars(e || location.search)
			},
			y.jsURL = function(e) {
					for (var t = document.scripts,
									n = 0,
									i = t.length; n < i; n++) {
							var r = t[n].src;
							if (r.includes(e) || !e && r.includes("lake")) return r.substr(0, r.lastIndexOf("/") + 1).replace(location.origin, "")
					}
			},
			y.valueOf = function() {
					return y.dir || (y.dir = y.jsURL() || "")
			},
			y.fullScreen = function(e) {
					var t = (e = e || document.documentElement) === (document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement);
					return t ? y.offFullScreen() : y.toFullScreen(e), !t
			},
			y.offFullScreen = function() {
					var e = document.exitFullscreen || document.mozCancelFullScreen || document.webkitCancelFullScreen || document.msExitFullscreen;
					e && e.call(document)
			},
			y.toFullScreen = function(e) {
					e.requestFullscreen ? e.requestFullscreen() : e.mozRequestFullScreen ? e.mozRequestFullScreen() : e.webkitRequestFullscreen ? e.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT) : e.msRequestFullscreen && e.msRequestFullscreen()
			},
			y.db = {
					set: function(e, t) {
							localStorage.setItem(e, JSON.stringify(t))
					},
					get: function(e) {
							return JSON.parse(localStorage.getItem(e))
					}
			},
			g.create = function() {
					var e = y.create("style", "", document.head);
					return e.type = "text/css",
							e
			},
			g.sheet = function(t) {
					return function(e) {
							return g(e, t = t || create())
					}
			},
			y.style = g,
			y.linkcss = function(e, t) {
					if (y.isArray(e)) return y.each(e,
							function(e) {
									e && y.linkcss(e, t)
							});
					t = t || {};
					var n = y.link("", t.target || document.head);
					return n.type = "text/css",
							n.rel = "stylesheet",
							n.href = e + ".css",
							n
			},
			y.styleToObj = function(e) {
					return 1 < arguments.length ? y.assign.apply(null, Array.prototype.slice.call(arguments).map(function(e) {
							return y.styleToObj(e)
					})) : "string" == typeof e ? e.split(";").reduce(function(e, t) {
							if (t = t.trim()) {
									var n = t.split(":"),
											i = n[0],
											r = n[1];
									e[i.trim()] = r.trim()
							}
							return e
					}, {}) : e
			},
			y.objToCss = function(e) {
					var n = [];
					return y.each(e,
									function(e, t) {
											n.push(t + " {"),
													y.each(e,
															function(e, t) {
																	n.push(t + ": " + e + ";")
															}),
													n.push("}")
									}),
							n.join("")
			};
	var x = function(e) {
			function t() {
					return e.apply(this, arguments) || this
			}
			b(t, e);
			var n = t.prototype;
			return n.on = function(e, t, n) {
							var i = this;
							return y.isString(e) && t ? y.words(e).forEach(function(e) {
											i._on(e, t)
									}) : y.each(e,
											function(e, t) {
													i._on(t, e)
											}),
									i
					},
					n.once = function(e, t) {
							var n = this;
							return this.on(e, t).on(e,
									function() {
											n.off(e, t)
									})
					},
					n._on = function(e, t) {
							var n = this._actions = this._actions || {};
							this.hook && this.hook(e, t),
									n = n[e] = n[e] || [],
									t && !n.includes(t) && n.push(t)
					},
					n.do = function(e, t) {
							var n = this._actions;
							n && (n = n[e]) && n.forEach(function(e) {
									e(t)
							})
					},
					n.off = function(e, t) {
							if (e)
									if (y.isString(e))
											for (var n = 0,
															i = (e = y.words(e)).length; n < i; n++) this._off(e[n], t);
									else
											for (var r in e) this._off(r, e[r]);
							else delete this._actions
					},
					n._off = function(e, t) {
							var n = this._actions;
							if (t) {
									if (n = n[e])
											for (var i = 0,
															r = n.length; i < r; i++)
													if (n[i] === t) return void n.splice(i, 1)
							} else delete n[e]
					},
					t
	}(e);
	y.action = function(e) {
					return e._action ? e : e._action = y.extend(e, x)
			},
			y.action(y).Action = x;
	var w = y.assign,
			E = function() {},
			M = function() {
					function i() {}
					return i.config = function(e) {
									w(i.conf, e)
							},
							i.dataFilter = function(t, e, n) {
									var i = t.responseText;
									switch (e) {
											case "json":
													try {
															i = JSON.parse(i)
													} catch (e) {
															console.warn(e),
																	console.log(n, t)
													}
													return i;
											case "jso":
													i = "return " + i;
											case "jsonp":
											case "js":
													return new Function(i)();
											case "xml":
													return t.responseXML
									}
									return i
							},
							i.prototype.load = function(e, t, n) {
									(e = w({},
											i.conf, this.conf, e)).inject && e.inject.call(this, e),
											i.load(e)
							},
							i.load = function(e) {
									var t, n, i = e.url,
											r = e.success,
											o = e.err,
											u = e.f,
											s = e.method,
											a = e.data,
											c = e.async,
											f = e.cache,
											l = e.ctx,
											d = e.contentType,
											p = e.dataFilter,
											h = e.timeout,
											m = e.beforeSend,
											g = (e.headers, "GET" === s);
									if (a) {
											if ("application/json" === d) a = JSON.stringify(a);
											else if (y.isObject(a) && !y.isFormData(a)) {
													for (var v in n = [], a) {
															var b = a[v];
															y.isString(b) || (b = JSON.stringify(b)),
																	n.push(encodeURIComponent(v) + "=" + encodeURIComponent(b))
													}
													a = n.join("&")
											}
											n = a,
													g && (i += (0 < i.indexOf("?") ? "&" : "?") + n, n = null)
									}
									0 === i.indexOf("http") || "/" === i[0] || (i = e.baseUrl + i),
											(t = new XMLHttpRequest).onreadystatechange = function() {
													4 === t.readyState && (200 === t.status ? r.call(l, p(t, u, i)) : (o.call(l, t), console.warn("error:" + i)))
											},
											t.open(s, i, c),
											g && !f && t.setRequestHeader("If-Modified-Since", "0"),
											n && d && t.setRequestHeader("Content-Type", d),
											h && (t.timeout = h),
											m(t, e),
											t.send(n)
							},
							i
			}();
	v(M, "conf", {
			baseUrl: "",
			method: "GET",
			async: !0,
			cache: !0,
			dataFilter: M.dataFilter,
			success: E,
			err: E,
			beforeSend: E,
			contentType: "application/x-www-form-urlencoded"
	});
	var S = new M;
	y.Ajax = M,
			y.ajax = function(n, i) {
					if (y.isString(n)) return new Promise(function(e, t) {
							S.load(w({
											url: n,
											success: e,
											err: t
									},
									i))
					});
					S.load(n)
			};
	var j = "YYYY-MM-DD hh:mm:ss",
			q = y.toDate = function(e) {
					if (e) {
							if ("string" != typeof e) return new Date(e);
							var t = 0 < e.indexOf("T") ? "T" : " ",
									n = e.split(t);
							1 !== n.length || n[0].includes("-") || n.splice(0, 0, "1970-01-01");
							var i = n[0].split("-"),
									r = n[1] && n[1].split(":") || [0, 0, 0];
							return new Date(i[0], i[1] - 1, i[2], r[0], r[1], r[2] && r[2].slice(0, 2) || 0)
					}
			},
			C = function(e, n) {
					if (e) {
							n = n || j;
							var t = {
									"M+": e.getMonth() + 1,
									"D+": e.getDate(),
									"h+": e.getHours(),
									"m+": e.getMinutes(),
									"s+": e.getSeconds(),
									S: e.getMilliseconds()
							};
							/(Y+)/.test(n) && (n = n.replace(RegExp.$1, (e.getFullYear() + "").substr(4 - RegExp.$1.length))),
									y.each(t,
											function(e, t) {
													new RegExp("(" + t + ")").test(n) && (n = n.replace(RegExp.$1, 1 == RegExp.$1.length ? e : ("00" + e).substr(("" + e).length)))
											})
					}
					return n
			},
			O = function(e) {
					var t = this;
					v(this, "add",
									function(e) {
											return new Date(+t.date + e)
									}),
							v(this, "addHour",
									function(e) {
											return t.add(36e5 * e)
									}),
							v(this, "addDay",
									function(e) {
											return t.addHour(24 * e)
									}),
							v(this, "getWeekName",
									function() {
											return "日一二三四五六" [t.date.getDay()]
									}),
							v(this, "fmt",
									function(e) {
											return C(t.date, e)
									}),
							v(this, "toString",
									function() {
											return t.fmt()
									}),
							this.date = q(e || y.now())
			};
	v(O, "parse", q),
			v(O, "fmt", C),
			v(O, "getYears",
					function(e, t) {
							return y.range(e, t || (new Date).getFullYear() + 1)
					}),
			v(O, "getMonths",
					function() {
							return y.range(0, 12)
					}),
			v(O, "sub",
					function(e, t) {
							return +q(e) - +q(t)
					}),
			y.clock = function(e) {
					return new O(e)
			},
			y.Clock = O,
			y.create = function(e, t, n) {
					var i = document.createElement(e);
					return t && (i.className = t),
							n && n.appendChild(i),
							i
			},
			y.html = function(e) {
					var t = T.div();
					return t.innerHTML = e,
							t.firstElementChild
			}, ["div", "canvas", "link", "script"].forEach(function(e) {
					y[e] = y.create.bind(y, e)
			}),
			y.include(y._, {
					add: function(e) {
							return this.el.appendChild(e),
									this
					},
					addTo: function(e) {
							return y(e).add(this.el),
									this
					},
					remove: function() {
							var e = this.el,
									t = e.parentNode;
							return t && t.removeChild(e),
									this
					},
					addClass: function(e) {
							var t = this;
							return y.words(e).forEach(function(e) {
											t.el.classList.add(e)
									}),
									this
					},
					setStyle: function(e) {
							var n = this.el.style;
							return "string" == typeof e ? n.cssText += ";" + e : y.each(e,
											function(e, t) {
													n[t] = e
											}),
									this
					},
					getStyle: function(e) {
							return getComputedStyle(this.el, null).getPropertyValue(e)
					},
					props: function(e) {
							var n = this;
							return y.each(e,
											function(e, t) {
													"style" === t ? n.setStyle(e) : n.el[t] = e
											}),
									this
					},
					attrs: function(e) {
							var n = this.el;
							return y.isString(e) ? n.getAttribute(e) : (y.each(e,
									function(e, t) {
											e ? n.setAttribute(t, e + "") : n.removeAttribute(k)
									}), this)
					},
					on: function(e, n, t) {
							var i = this,
									r = this.el;
							switch (e) {
									case "clickout":
											T().on("click", n._clickoutHandle = function(e) {
															for (var t = e.target; t; t = t.parentNode)
																	if (t === r) return;
															n.call(i, e)
													},
													t);
											break;
									default:
											r.addEventListener(e, n, t)
							}
							return this
					},
					off: function(e, t, n) {
							var i = this.el;
							switch (e) {
									case "clickout":
											T().off("click", t._clickoutHandle);
											break;
									default:
											i.removeEventListener(e, t, n)
							}
							return this
					}
			}),
			y.set(y.fn, {
					x: {
							set: function(e) {
									this.el.style.left = e + "px"
							},
							get: function() {
									return this.bound.left
							}
					},
					y: {
							set: function(e) {
									this.el.style.top = e + "px"
							},
							get: function() {
									return this.bound.top
							}
					},
					bound: {
							get: function() {
									return this.el.getBoundingClientRect()
							}
					},
					width: {
							set: function(e) {
									this.el.style.width = y.isString(e) ? e : e + "px"
							},
							get: function() {
									return this.el.clientWidth
							}
					},
					height: {
							set: function(e) {
									this.el.style.height = y.isString(e) ? e : e + "px"
							},
							get: function() {
									return this.el.clientHeight
							}
					},
					visible: {
							set: function(e) {
									this.el.style.display = e ? "" : "none"
							},
							get: function() {
									return "none" !== this.el.style.display
							}
					},
					mouseEnable: {
							set: function(e) {
									this.el.style.pointerEvents = e ? "" : "none"
							},
							get: function() {
									return "none" !== this.el.style.pointerEvents
							}
					},
					cursor: {
							set: function(e) {
									var t = "";
									if ("string" == typeof e) t = e;
									else if (e) {
											var n = y.assign({
															x: 0,
															y: 0
													},
													e);
											t = "url(" + n.source + ") " + n.x + " " + n.y + ", " + (n.defaultValue || "auto")
									}
									this.el.style.cursor = t
							}
					}
			});
	var F = y(),
			ie,
			require,
			define;
			y.width = F.width,
			y.height = F.height,
			y.body = y(document.body),
			function(R, A) {
					var N, e, o, u, t, n, D, s, i, r, a = "2.3.6",
							c = /\/\*[\s\S]*?\*\/|([^:"'=]|^)\/\/.*$/gm,
							f = /[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,
							_ = /\.js$/,
							U = /^\.\//,
							l = Object.prototype,
							d = l.toString,
							p = l.hasOwnProperty,
							L = !("undefined" == typeof window || "undefined" == typeof navigator || !window.document),
							I = !L && "undefined" != typeof importScripts,
							P = L && "PLAYSTATION 3" === navigator.platform ? /^complete$/ : /^(complete|loaded)$/,
							h = "_",
							z = "undefined" != typeof opera && "[object Opera]" === opera.toString(),
							m = {},
							g = {},
							$ = [],
							B = !1;

					function v(e, t) {
							return t || ""
					}

					function H(e) {
							return "[object Function]" === d.call(e)
					}

					function Q(e) {
							return "[object Array]" === d.call(e)
					}

					function Y(e, t) {
							var n;
							if (e)
									for (n = 0; n < e.length && (!e[n] || !t(e[n], n, e)); n += 1);
					}

					function J(e, t) {
							var n;
							if (e)
									for (n = e.length - 1; - 1 < n && (!e[n] || !t(e[n], n, e)); n -= 1);
					}

					function W(e, t) {
							return p.call(e, t)
					}

					function V(e, t) {
							return W(e, t) && e[t]
					}

					function X(e, t) {
							var n;
							for (n in e)
									if (W(e, n) && t(e[n], n)) break
					}

					function G(n, e, i, r) {
							return e && X(e,
											function(e, t) {
													!i && W(n, t) || (!r || "object" != typeof e || !e || Q(e) || H(e) || e instanceof RegExp ? n[t] = e : (n[t] || (n[t] = {}), G(n[t], e, i, r)))
											}),
									n
					}

					function K(e, t) {
							return function() {
									return t.apply(e, arguments)
							}
					}

					function Z() {
							return document.getElementsByTagName("script")
					}

					function ee(e) {
							throw e
					}

					function te(e) {
							if (!e) return e;
							var t = R;
							return Y(e.split("."),
											function(e) {
													t = t[e]
											}),
									t
					}

					function ne(e, t, n, i) {
							var r = new Error(t + "\nhttps://requirejs.org/docs/errors.html#" + e);
							return r.requireType = e,
									r.requireModules = i,
									n && (r.originalError = n),
									r
					}
					if (void 0 === define) {
							if (void 0 !== ie) {
									if (H(ie)) return;
									g = ie,
											ie = void 0
							}
							void 0 === require || H(require) || (g = require, require = void 0),
									N = ie = function(e, t, n, i) {
											var r, o, u = h;
											return Q(e) || "string" == typeof e || (o = e, Q(t) ? (e = t, t = n, n = i) : e = []),
													o && o.context && (u = o.context),
													(r = V(m, u)) || (r = m[u] = N.s.newContext(u)),
													o && r.configure(o),
													r.require(e, t, n)
									},
									N.config = function(e) {
											return N(e)
									},
									N.nextTick = void 0 !== A ?
									function(e) {
											A(e, 4)
									} : function(e) {
											e()
									},
									require || (require = N),
									N.version = a,
									N.jsExtRegExp = /^\/|:|\?|\.js$/,
									N.isBrowser = L,
									e = N.s = {
											contexts: m,
											newContext: b
									},
									N({}),
									Y(["toUrl", "undef", "defined", "specified"],
											function(t) {
													N[t] = function() {
															var e = m[h];
															return e.require[t].apply(e, arguments)
													}
											}),
									L && (o = e.head = document.getElementsByTagName("head")[0], u = document.getElementsByTagName("base")[0], u && (o = e.head = u.parentNode)),
									N.onError = ee,
									N.createNode = function(e, t, n) {
											var i = e.xhtml ? document.createElementNS("http://www.w3.org/1999/xhtml", "html:script") : document.createElement("script");
											return i.type = e.scriptType || "text/javascript",
													i.charset = "utf-8",
													i.async = !0,
													i
									},
									N.load = function(t, n, i) {
											var e, r = t && t.config || {};
											if (L) return (e = N.createNode(r, n, i)).setAttribute("data-requirecontext", t.contextName),
													e.setAttribute("data-requiremodule", n), !e.attachEvent || e.attachEvent.toString && e.attachEvent.toString().indexOf("[native code") < 0 || z ? (e.addEventListener("load", t.onScriptLoad, !1), e.addEventListener("error", t.onScriptError, !1)) : (B = !0, e.attachEvent("onreadystatechange", t.onScriptLoad)),
													e.src = i,
													r.onNodeCreated && r.onNodeCreated(e, r, n, i),
													s = e,
													u ? o.insertBefore(e, u) : o.appendChild(e),
													s = null,
													e;
											if (I) try {
													A(function() {},
																	0),
															importScripts(i),
															t.completeLoad(n)
											} catch (e) {
													t.onError(ne("importscripts", "importScripts failed for " + n + " at " + i, e, [n]))
											}
									},
									L && !g.skipDataMain && J(Z(),
											function(e) {
													if (o || (o = e.parentNode), t = e.getAttribute("data-main")) return i = t,
															g.baseUrl || -1 !== i.indexOf("!") || (i = (n = i.split("/")).pop(), r = n.length ? n.join("/") + "/" : "./", g.baseUrl = r),
															i = i.replace(_, ""),
															N.jsExtRegExp.test(i) && (i = t),
															g.deps = g.deps ? g.deps.concat(i) : [i], !0
											}),
									define = function(e, n, t) {
											var i, r;
											"string" != typeof e && (t = n, n = e, e = null),
													Q(n) || (t = n, n = null), !n && H(t) && (n = [], t.length && (t.toString().replace(c, v).replace(f,
															function(e, t) {
																	n.push(t)
															}), n = (1 === t.length ? ["require"] : ["require", "exports", "module"]).concat(n))),
													B && (i = s || y()) && (e || (e = i.getAttribute("data-requiremodule")), r = m[i.getAttribute("data-requirecontext")]),
													r ? (r.defQueue.push([e, n, t]), r.defQueueMap[e] = !0) : $.push([e, n, t])
									},
									define.amd = {
											jQuery: !0
									},
									N.exec = function(e) {
											return eval(e)
									},
									N(g)
					}

					function b(a) {
							var n, e, p, c, f, g = {
											waitSeconds: 7,
											baseUrl: "./",
											paths: {},
											bundles: {},
											pkgs: {},
											shim: {},
											config: {}
									},
									l = {},
									d = {},
									i = {},
									h = [],
									m = {},
									r = {},
									v = {},
									b = 1,
									y = 1;

							function x(e, t, n) {
									var i, r, o, u, s, a, c, f, l, d, p = t && t.split("/"),
											h = g.map,
											m = h && h["*"];
									if (e && (a = (e = e.split("/")).length - 1, g.nodeIdCompat && _.test(e[a]) && (e[a] = e[a].replace(_, "")), "." === e[0].charAt(0) && p && (e = p.slice(0, p.length - 1).concat(e)),
													function(e) {
															var t, n;
															for (t = 0; t < e.length; t++)
																	if ("." === (n = e[t])) e.splice(t, 1),
																			t -= 1;
																	else if (".." === n) {
																	if (0 === t || 1 === t && ".." === e[2] || ".." === e[t - 1]) continue;
																	0 < t && (e.splice(t - 1, 2), t -= 2)
															}
													}(e), e = e.join("/")), n && h && (p || m)) {
											e: for (o = (r = e.split("/")).length; 0 < o; o -= 1) {
													if (s = r.slice(0, o).join("/"), p)
															for (u = p.length; 0 < u; u -= 1)
																	if ((i = V(h, p.slice(0, u).join("/"))) && (i = V(i, s))) {
																			c = i,
																					f = o;
																			break e
																	}!l && m && V(m, s) && (l = V(m, s), d = o)
											}!c && l && (c = l, f = d),
											c && (r.splice(0, f, c), e = r.join("/"))
									}
									return V(g.pkgs, e) || e
							}

							function w(t) {
									L && Y(Z(),
											function(e) {
													if (e.getAttribute("data-requiremodule") === t && e.getAttribute("data-requirecontext") === p.contextName) return e.parentNode.removeChild(e), !0
											})
							}

							function E(e) {
									var t = V(g.paths, e);
									if (t && Q(t) && 1 < t.length) return t.shift(),
											p.require.undef(e),
											p.makeRequire(null, {
													skipMap: !0
											})([e]), !0
							}

							function k(e) {
									var t, n = e ? e.indexOf("!") : -1;
									return -1 < n && (t = e.substring(0, n), e = e.substring(n + 1, e.length)), [t, e]
							}

							function M(e, t, n, i) {
									var r, o, u, s, a = null,
											c = t ? t.name : null,
											f = e,
											l = !0,
											d = "";
									return e || (l = !1, e = "_@r" + (b += 1)),
											a = (s = k(e))[0],
											e = s[1],
											a && (a = x(a, c, i), o = V(m, a)),
											e && (a ? d = n ? e : o && o.normalize ? o.normalize(e,
													function(e) {
															return x(e, c, i)
													}) : -1 === e.indexOf("!") ? x(e, c, i) : e : (a = (s = k(d = x(e, c, i)))[0], d = s[1], n = !0, r = p.nameToUrl(d))), {
													prefix: a,
													name: d,
													parentMap: t,
													unnormalized: !!(u = !a || o || n ? "" : "_unnormalized" + (y += 1)),
													url: r,
													originalName: f,
													isDefine: l,
													id: (a ? a + "!" + d : d) + u
											}
							}

							function S(e) {
									var t = e.id,
											n = V(l, t);
									return n || (n = l[t] = new p.Module(e)),
											n
							}

							function j(e, t, n) {
									var i = e.id,
											r = V(l, i);
									!W(m, i) || r && !r.defineEmitComplete ? (r = S(e)).error && "error" === t ? n(r.error) : r.on(t, n) : "defined" === t && n(m[i])
							}

							function q(n, e) {
									var t = n.requireModules,
											i = !1;
									e ? e(n) : (Y(t,
											function(e) {
													var t = V(l, e);
													t && (t.error = n, t.events.error && (i = !0, t.emit("error", n)))
											}), i || N.onError(n))
							}

							function C() {
									$.length && (Y($,
											function(e) {
													var t = e[0];
													"string" == typeof t && (p.defQueueMap[t] = !0),
															h.push(e)
											}), $ = [])
							}

							function T(e) {
									delete l[e],
											delete d[e]
							}

							function O() {
									var e, i, t = 1e3 * g.waitSeconds,
											r = t && p.startTime + t < (new Date).getTime(),
											o = [],
											u = [],
											s = !1,
											a = !0;
									if (!n) {
											if (n = !0, X(d,
															function(e) {
																	var t = e.map,
																			n = t.id;
																	if (e.enabled && (t.isDefine || u.push(e), !e.error))
																			if (!e.inited && r) E(n) ? s = i = !0 : (o.push(n), w(n));
																			else if (!e.inited && e.fetched && t.isDefine && (s = !0, !t.prefix)) return a = !1
															}), r && o.length) return (e = ne("timeout", "Load timeout for modules: " + o, null, o)).contextName = p.contextName,
													q(e);
											a && Y(u,
															function(e) {
																	!
																	function r(o, u, s) {
																			var e = o.map.id;
																			o.error ? o.emit("error", o.error) : (u[e] = !0, Y(o.depMaps,
																					function(e, t) {
																							var n = e.id,
																									i = V(l, n);
																							!i || o.depMatched[t] || s[n] || (V(u, n) ? (o.defineDep(t, m[n]), o.check()) : r(i, u, s))
																					}), s[e] = !0)
																	}(e, {}, {})
															}),
													r && !i || !s || !L && !I || f || (f = A(function() {
																	f = 0,
																			O()
															},
															50)),
													n = !1
									}
							}

							function u(e) {
									W(m, e[0]) || S(M(e[0], null, !0)).init(e[1], e[2])
							}

							function o(e, t, n, i) {
									e.detachEvent && !z ? i && e.detachEvent(i, t) : e.removeEventListener(n, t, !1)
							}

							function s(e) {
									var t = e.currentTarget || e.srcElement;
									return o(t, p.onScriptLoad, "load", "onreadystatechange"),
											o(t, p.onScriptError, "error"), {
													node: t,
													id: t && t.getAttribute("data-requiremodule")
											}
							}

							function F() {
									var e;
									for (C(); h.length;) {
											if (null === (e = h.shift())[0]) return q(ne("mismatch", "Mismatched anonymous define() module: " + e[e.length - 1]));
											u(e)
									}
									p.defQueueMap = {}
							}
							return c = {
											require: function(e) {
													return e.require ? e.require : e.require = p.makeRequire(e.map)
											},
											exports: function(e) {
													if (e.usingExports = !0, e.map.isDefine) return e.exports ? m[e.map.id] = e.exports : e.exports = m[e.map.id] = {}
											},
											module: function(e) {
													return e.module ? e.module : e.module = {
															id: e.map.id,
															uri: e.map.url,
															config: function() {
																	return V(g.config, e.map.id) || {}
															},
															exports: e.exports || (e.exports = {})
													}
											}
									},
									(e = function(e) {
											this.events = V(i, e.id) || {},
													this.map = e,
													this.shim = V(g.shim, e.id),
													this.depExports = [],
													this.depMaps = [],
													this.depMatched = [],
													this.pluginMaps = {},
													this.depCount = 0
									}).prototype = {
											init: function(e, t, n, i) {
													i = i || {},
															this.inited || (this.factory = t, n ? this.on("error", n) : this.events.error && (n = K(this,
																	function(e) {
																			this.emit("error", e)
																	})), this.depMaps = e && e.slice(0), this.errback = n, this.inited = !0, this.ignore = i.ignore, i.enabled || this.enabled ? this.enable() : this.check())
											},
											defineDep: function(e, t) {
													this.depMatched[e] || (this.depMatched[e] = !0, this.depCount -= 1, this.depExports[e] = t)
											},
											fetch: function() {
													if (!this.fetched) {
															this.fetched = !0,
																	p.startTime = (new Date).getTime();
															var e = this.map;
															if (!this.shim) return e.prefix ? this.callPlugin() : this.load();
															p.makeRequire(this.map, {
																	enableBuildCallback: !0
															})(this.shim.deps || [], K(this,
																	function() {
																			return e.prefix ? this.callPlugin() : this.load()
																	}))
													}
											},
											load: function() {
													var e = this.map.url;
													r[e] || (r[e] = !0, p.load(this.map.id, e))
											},
											check: function() {
													if (this.enabled && !this.enabling) {
															var t, e, n = this.map.id,
																	i = this.depExports,
																	r = this.exports,
																	o = this.factory;
															if (this.inited) {
																	if (this.error) this.emit("error", this.error);
																	else if (!this.defining) {
																			if (this.defining = !0, this.depCount < 1 && !this.defined) {
																					if (H(o)) {
																							if (this.events.error && this.map.isDefine || N.onError !== ee) try {
																									r = p.execCb(n, o, i, r)
																							} catch (e) {
																									t = e
																							} else r = p.execCb(n, o, i, r);
																							if (this.map.isDefine && void 0 === r && ((e = this.module) ? r = e.exports : this.usingExports && (r = this.exports)), t) return t.requireMap = this.map,
																									t.requireModules = this.map.isDefine ? [this.map.id] : null,
																									t.requireType = this.map.isDefine ? "define" : "require",
																									q(this.error = t)
																					} else r = o;
																					if (this.exports = r, this.map.isDefine && !this.ignore && (m[n] = r, N.onResourceLoad)) {
																							var u = [];
																							Y(this.depMaps,
																											function(e) {
																													u.push(e.normalizedMap || e)
																											}),
																									N.onResourceLoad(p, this.map, u)
																					}
																					T(n),
																							this.defined = !0
																			}
																			this.defining = !1,
																					this.defined && !this.defineEmitted && (this.defineEmitted = !0, this.emit("defined", this.exports), this.defineEmitComplete = !0)
																	}
															} else W(p.defQueueMap, n) || this.fetch()
													}
											},
											callPlugin: function() {
													var a = this.map,
															c = a.id,
															e = M(a.prefix);
													this.depMaps.push(e),
															j(e, "defined", K(this,
																	function(e) {
																			var o, t, n, i = V(v, this.map.id),
																					r = this.map.name,
																					u = this.map.parentMap ? this.map.parentMap.name : null,
																					s = p.makeRequire(a.parentMap, {
																							enableBuildCallback: !0
																					});
																			return this.map.unnormalized ? (e.normalize && (r = e.normalize(r,
																					function(e) {
																							return x(e, u, !0)
																					}) || ""), j(t = M(a.prefix + "!" + r, this.map.parentMap, !0), "defined", K(this,
																					function(e) {
																							this.map.normalizedMap = t,
																									this.init([],
																											function() {
																													return e
																											},
																											null, {
																													enabled: !0,
																													ignore: !0
																											})
																					})), void((n = V(l, t.id)) && (this.depMaps.push(t), this.events.error && n.on("error", K(this,
																					function(e) {
																							this.emit("error", e)
																					})), n.enable()))) : i ? (this.map.url = p.nameToUrl(i), void this.load()) : ((o = K(this,
																					function(e) {
																							this.init([],
																									function() {
																											return e
																									},
																									null, {
																											enabled: !0
																									})
																					})).error = K(this,
																					function(e) {
																							this.inited = !0,
																									(this.error = e).requireModules = [c],
																									X(l,
																											function(e) {
																													0 === e.map.id.indexOf(c + "_unnormalized") && T(e.map.id)
																											}),
																									q(e)
																					}), o.fromText = K(this,
																					function(e, t) {
																							var n = a.name,
																									i = M(n),
																									r = B;
																							t && (e = t),
																									r && (B = !1),
																									S(i),
																									W(g.config, c) && (g.config[n] = g.config[c]);
																							try {
																									N.exec(e)
																							} catch (e) {
																									return q(ne("fromtexteval", "fromText eval for " + c + " failed: " + e, e, [c]))
																							}
																							r && (B = !0),
																									this.depMaps.push(i),
																									p.completeLoad(n),
																									s([n], o)
																					}), void e.load(a.name, s, o, g))
																	})),
															p.enable(e, this),
															this.pluginMaps[e.id] = e
											},
											enable: function() {
													(d[this.map.id] = this).enabled = !0,
															this.enabling = !0,
															Y(this.depMaps, K(this,
																	function(e, t) {
																			var n, i, r;
																			if ("string" == typeof e) {
																					if (e = M(e, this.map.isDefine ? this.map : this.map.parentMap, !1, !this.skipMap), this.depMaps[t] = e, r = V(c, e.id)) return void(this.depExports[t] = r(this));
																					this.depCount += 1,
																							j(e, "defined", K(this,
																									function(e) {
																											this.undefed || (this.defineDep(t, e), this.check())
																									})),
																							this.errback ? j(e, "error", K(this, this.errback)) : this.events.error && j(e, "error", K(this,
																									function(e) {
																											this.emit("error", e)
																									}))
																			}
																			n = e.id,
																					i = l[n],
																					W(c, n) || !i || i.enabled || p.enable(e, this)
																	})),
															X(this.pluginMaps, K(this,
																	function(e) {
																			var t = V(l, e.id);
																			t && !t.enabled && p.enable(e, this)
																	})),
															this.enabling = !1,
															this.check()
											},
											on: function(e, t) {
													var n = this.events[e];
													n || (n = this.events[e] = []),
															n.push(t)
											},
											emit: function(e, t) {
													Y(this.events[e],
																	function(e) {
																			e(t)
																	}),
															"error" === e && delete this.events[e]
											}
									},
									(p = {
											config: g,
											contextName: a,
											registry: l,
											defined: m,
											urlFetched: r,
											defQueue: h,
											defQueueMap: {},
											Module: e,
											makeModuleMap: M,
											nextTick: N.nextTick,
											onError: q,
											configure: function(e) {
													if (e.baseUrl && "/" !== e.baseUrl.charAt(e.baseUrl.length - 1) && (e.baseUrl += "/"), "string" == typeof e.urlArgs) {
															var n = e.urlArgs;
															e.urlArgs = function(e, t) {
																	return (-1 === t.indexOf("?") ? "?" : "&") + n
															}
													}
													var i = g.shim,
															r = {
																	paths: !0,
																	bundles: !0,
																	config: !0,
																	map: !0
															};
													X(e,
																	function(e, t) {
																			r[t] ? (g[t] || (g[t] = {}), G(g[t], e, !0, !0)) : g[t] = e
																	}),
															e.bundles && X(e.bundles,
																	function(e, t) {
																			Y(e,
																					function(e) {
																							e !== t && (v[e] = t)
																					})
																	}),
															e.shim && (X(e.shim,
																	function(e, t) {
																			Q(e) && (e = {
																							deps: e
																					}), !e.exports && !e.init || e.exportsFn || (e.exportsFn = p.makeShimExports(e)),
																					i[t] = e
																	}), g.shim = i),
															e.packages && Y(e.packages,
																	function(e) {
																			var t;
																			t = (e = "string" == typeof e ? {
																							name: e
																					} : e).name,
																					e.location && (g.paths[t] = e.location),
																					g.pkgs[t] = e.name + "/" + (e.main || "main").replace(U, "").replace(_, "")
																	}),
															X(l,
																	function(e, t) {
																			e.inited || e.map.unnormalized || (e.map = M(t, null, !0))
																	}),
															(e.deps || e.callback) && p.require(e.deps || [], e.callback)
											},
											makeShimExports: function(t) {
													return function() {
															var e;
															return t.init && (e = t.init.apply(R, arguments)),
																	e || t.exports && te(t.exports)
													}
											},
											makeRequire: function(o, u) {
													function s(e, t, n) {
															var i, r;
															return u.enableBuildCallback && t && H(t) && (t.__requireJsBuild = !0),
																	"string" == typeof e ? H(t) ? q(ne("requireargs", "Invalid require call"), n) : o && W(c, e) ? c[e](l[o.id]) : N.get ? N.get(p, e, o, s) : (i = M(e, o, !1, !0).id, W(m, i) ? m[i] : q(ne("notloaded", 'Module name "' + i + '" has not been loaded yet for context: ' + a + (o ? "" : ". Use require([])")))) : (F(), p.nextTick(function() {
																			F(),
																					(r = S(M(null, o))).skipMap = u.skipMap,
																					r.init(e, t, n, {
																							enabled: !0
																					}),
																					O()
																	}), s)
													}
													return u = u || {},
															G(s, {
																	isBrowser: L,
																	toUrl: function(e) {
																			var t, n = e.lastIndexOf("."),
																					i = e.split("/")[0];
																			return -1 !== n && (!("." === i || ".." === i) || 1 < n) && (t = e.substring(n, e.length), e = e.substring(0, n)),
																					p.nameToUrl(x(e, o && o.id, !0), t, !0)
																	},
																	defined: function(e) {
																			return W(m, M(e, o, !1, !0).id)
																	},
																	specified: function(e) {
																			return e = M(e, o, !1, !0).id,
																					W(m, e) || W(l, e)
																	}
															}),
															o || (s.undef = function(n) {
																	C();
																	var e = M(n, o, !0),
																			t = V(l, n);
																	t.undefed = !0,
																			w(n),
																			delete m[n],
																			delete r[e.url],
																			delete i[n],
																			J(h,
																					function(e, t) {
																							e[0] === n && h.splice(t, 1)
																					}),
																			delete p.defQueueMap[n],
																			t && (t.events.defined && (i[n] = t.events), T(n))
															}),
															s
											},
											enable: function(e) {
													V(l, e.id) && S(e).enable()
											},
											completeLoad: function(e) {
													var t, n, i, r = V(g.shim, e) || {},
															o = r.exports;
													for (C(); h.length;) {
															if (null === (n = h.shift())[0]) {
																	if (n[0] = e, t) break;
																	t = !0
															} else n[0] === e && (t = !0);
															u(n)
													}
													if (p.defQueueMap = {},
															i = V(l, e), !t && !W(m, e) && i && !i.inited) {
															if (!(!g.enforceDefine || o && te(o))) return E(e) ? void 0 : q(ne("nodefine", "No define call for " + e, null, [e]));
															u([e, r.deps || [], r.exportsFn])
													}
													O()
											},
											nameToUrl: function(e, t, n) {
													var i, r, o, u, s, a, c = V(g.pkgs, e);
													if (c && (e = c), a = V(v, e)) return p.nameToUrl(a, t, n);
													if (N.jsExtRegExp.test(e)) u = e + (t || "");
													else {
															for (i = g.paths, o = (r = e.split("/")).length; 0 < o; o -= 1)
																	if (s = V(i, r.slice(0, o).join("/"))) {
																			Q(s) && (s = s[0]),
																					r.splice(0, o, s);
																			break
																	}
															u = r.join("/"),
																	u = ("/" === (u += t || (/^data\:|^blob\:|\?/.test(u) || n ? "" : ".js")).charAt(0) || u.match(/^[\w\+\.\-]+:/) ? "" : g.baseUrl) + u
													}
													return g.urlArgs && !/^blob\:/.test(u) ? u + g.urlArgs(e, u) : u
											},
											load: function(e, t) {
													N.load(p, e, t)
											},
											execCb: function(e, t, n, i) {
													return t.apply(i, n)
											},
											onScriptLoad: function(e) {
													if ("load" === e.type || P.test((e.currentTarget || e.srcElement).readyState)) {
															D = null;
															var t = s(e);
															p.completeLoad(t.id)
													}
											},
											onScriptError: function(e) {
													var n = s(e);
													if (!E(n.id)) {
															var i = [];
															return X(l,
																			function(e, t) {
																					0 !== t.indexOf("_@r") && Y(e.depMaps,
																							function(e) {
																									if (e.id === n.id) return i.push(t), !0
																							})
																			}),
																	q(ne("scripterror", 'Script error for "' + n.id + (i.length ? '", needed by: ' + i.join(", ") : '"'), e, [n.id]))
													}
											}
									}).require = p.makeRequire(),
									p
					}

					function y() {
							return D && "interactive" === D.readyState || J(Z(),
											function(e) {
													if ("interactive" === e.readyState) return D = e
											}),
									D
					}
			}(window, "undefined" == typeof setTimeout ? void 0 : setTimeout),
			ie.onError = function(e) {
					console.warn(e)
			},
			y.require = window.require || ie,
			y.define = window.define || define,
			window.define || (window.define = define, window.require = ie),
			y.declare = function(e) {
					y.each(e,
							function(e, t) {
									y.define(t, [],
											function() {
													return e
											})
							})
			};
	var R = "1.6.6";
	["audio", "screenshot"].forEach(function(t) {
					y[t] = function(e) {
							y.require(["plugins/" + t], e)
					}
			}),
			y.version = R;
	var A = self.T = self.lake = self.T || y;
	return A
}();